﻿#pragma warning(disable: 4996)
#include<stdio.h>

//void change(int* px, int* py)
//{
//	int z = *px;
//	*px = *py;
//	*py = z;
//
//}
//
//int main()
//{
//	int a = 0;
//	int b = 0;
//	scanf("%d %d", &a, &b);
//	printf("交换前:a=%d,b=%d\n", a, b);
//	change(&a, &b);
//	printf("交换后:a=%d,b=%d\n", a, b);
//	return 0;
//}

/*【题目名称】

数9的个数

【题目内容】

编写程序数一下 1到 100 的所有整数中出现多少个数字9*/
/*
思路：
1. 给一个循环从1遍历到100，拿到每个数据后进行一下操作
2.  a. 通过%的方式取当前数据的个位，检测个位数据是否为9
         如果是，给计数器加1
    b. 通过/的方式取当前数据的十位，检测十位数据是否是9，
          如果是，给计数器加1
  循环一直继续，直到所有的数据检测完，所有9的个数已经统计在count计数中。
*/

//int main()
//{
//	int a = 0;//用于初始化整数数据
//	int count = 0;//count用于计数，初始化count
//	for (a = 1; a <= 100; a++)
//	{
//		if (a % 10 == 9)
//			count++;
//			if (a / 10 == 9)
//			count++;
//	}
//		printf("%d\n", count-1);//99的个位和十位数都是9，所以会导致重复。因此减一。
//	return 0;
//}

/*【题目名称】

分数求和

【题目内容】

计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值，打印出结果*/
/*
思路：
1. 从上述表达式可以分析出
   a. 该表达式主要由100项，奇数项为正，偶数项为负
2. 设置一个循环从1~100，给出表达式中的每一项：1.0/i, 注意此处不能使用1，否则结果全部为0
    然后使用flag标记控制奇偶项，奇数项为正，偶数项为负
    然后将所有的项相加即可
*/

//int main()
//{
//	int i = 0;
//	double sum = 0.0;//应该要想到最终的结果是个小数，所以要用double类型0.0
//	int flag = 1;//定义flag用于控制正负数，+-+-+-+-+-+-+-+-+-+-
//	for (i = 1; i <= 100; i++)
//	{
//		sum += flag*1.0 / i;//sum+=a等同于sum=sum+a。1.0/i, 注意此处不能使用1，否则结果全部为0
//		flag = -flag;//+-+-+-+-+-+-+-+-+-+-
//	}
//	printf("%lf\n", sum);
//	return 0;
//}

//题目：编写一个程序，运行时输入a,b,c三个值，输出其中值最大者
//int main()
//{
//	int a, b, c, max = 0;
//	printf("请输入三个数：");
//	scanf("%d %d %d", &a, &b, &c);
//	max = a;//首先假设a为最大值max
//	if (max < b)//如果b比max大，就将b的值赋给max，如果b没有max大，则不会执行max=b
//		max = b;
//	if (max < c)//同样如果c比max大，就将c的值赋给max，如果c没有max大，则不会执行max=c
//		max = c;
//	printf("%d\n", max);
//
//	return 0;
//}